
#pragma once

#include "base/core/singleton.h"
#include "Common/TableDefine.h"


class CampKnighthoodCfg : public ManualSingleton <CampKnighthoodCfg>
{
	friend ManualSingleton <CampKnighthoodCfg>;
public:
	CampKnighthoodCfg();
	~CampKnighthoodCfg();
	bool Init(const char *szCfgFile, const char *szSplitChar);
	bool UnInit();
	void Clear();
	const CampKnighthoodCfgInfo *GetCampKnighthoodCfgInfo(int32_t knighthoodId);
	const CampKnighthoodCfgMap *GetCampKnighthoodCfgMap() { return &m_CampKnighthoodCfgMap; }
private:
	CampKnighthoodCfgMap m_CampKnighthoodCfgMap;
};

#define  g_MakeCampKnighthoodCfgTable() (CampKnighthoodCfg::Instance())
#define  g_GetCampKnighthoodCfgTable() (CampKnighthoodCfg::GetInstance())
#define  g_DelCampKnighthoodCfgTable() (CampKnighthoodCfg::Destroy())